Module: RDoc

Defined in:
lib/rdoc.rb,
lib/rdoc/version.rb,
lib/rdoc/known_classes.rb,
lib/rdoc/rubygems_hook.rb
more...

Overview

This class is referenced by RubyGems to create documents. All implementations are moved to the above RubyGemsHook.

This class does nothing when this RDoc is installed as a normal gem or a bundled gem.

This class does generate/remove documents for compatibility when this RDoc is installed as a default gem.

We can remove this when all maintained RubyGems remove ‘rubygems/rdoc.rb`.

Defined Under Namespace

Modules: Encoding, Generator, I18n, RI, Text, TokenStream Classes: Alias, AnonClass, AnyMethod, Attr, ClassModule, CodeObject, Comment, Constant, Context, CrossReference, ERBIO, ERBPartial, Error, Extend, GhostMethod, Include, Markdown, Markup, MetaMethod, MethodAttr, Mixin, NormalClass, NormalModule, Options, Parser, RD, RDoc, Require, RubyGemsHook, RubygemsHook, Servlet, SingleClass, Stats, Store, Task, TomDoc, TopLevel

Constant Summary collapse

VISIBILITIES =

Method visibilities

[:public, :protected, :private]
DOT_DOC_FILENAME =

Name of the dotfile that contains the description of files to be processed in the current directory

".document"
GENERAL_MODIFIERS =

General RDoc modifiers

%w[nodoc].freeze
CLASS_MODIFIERS =

RDoc modifiers for classes

GENERAL_MODIFIERS
ATTR_MODIFIERS =

RDoc modifiers for attributes

GENERAL_MODIFIERS
CONSTANT_MODIFIERS =

RDoc modifiers for constants

GENERAL_MODIFIERS
METHOD_MODIFIERS =

RDoc modifiers for methods

GENERAL_MODIFIERS +
%w[arg args yield yields notnew not-new not_new doc]
VERSION =

RDoc version you are using

'6.10.0'
KNOWN_CLASSES =

Ruby’s built-in classes, modules and exceptions

{
  "rb_cArray"            => "Array",
  "rb_cBasicObject"      => "BasicObject",
  "rb_cBignum"           => "Bignum",
  "rb_cClass"            => "Class",
  "rb_cData"             => "Data",
  "rb_cDir"              => "Dir",
  "rb_cEncoding"         => "Encoding",
  "rb_cFalseClass"       => "FalseClass",
  "rb_cFile"             => "File",
  "rb_cFixnum"           => "Fixnum",
  "rb_cFloat"            => "Float",
  "rb_cHash"             => "Hash",
  "rb_cIO"               => "IO",
  "rb_cInteger"          => "Integer",
  "rb_cModule"           => "Module",
  "rb_cNilClass"         => "NilClass",
  "rb_cNumeric"          => "Numeric",
  "rb_cObject"           => "Object",
  "rb_cProc"             => "Proc",
  "rb_cRange"            => "Range",
  "rb_cRefinement"       => "Refinement",
  "rb_cRegexp"           => "Regexp",
  "rb_cRubyVM"           => "RubyVM",
  "rb_cSocket"           => "Socket",
  "rb_cString"           => "String",
  "rb_cStruct"           => "Struct",
  "rb_cSymbol"           => "Symbol",
  "rb_cThread"           => "Thread",
  "rb_cTime"             => "Time",
  "rb_cTrueClass"        => "TrueClass",

  "rb_eArgError"         => "ArgumentError",
  "rb_eEOFError"         => "EOFError",
  "rb_eException"        => "Exception",
  "rb_eFatal"            => "fatal",
  "rb_eFloatDomainError" => "FloatDomainError",
  "rb_eIOError"          => "IOError",
  "rb_eIndexError"       => "IndexError",
  "rb_eInterrupt"        => "Interrupt",
  "rb_eLoadError"        => "LoadError",
  "rb_eNameError"        => "NameError",
  "rb_eNoMemError"       => "NoMemoryError",
  "rb_eNotImpError"      => "NotImplementedError",
  "rb_eRangeError"       => "RangeError",
  "rb_eRuntimeError"     => "RuntimeError",
  "rb_eScriptError"      => "ScriptError",
  "rb_eSecurityError"    => "SecurityError",
  "rb_eSignal"           => "SignalException",
  "rb_eStandardError"    => "StandardError",
  "rb_eSyntaxError"      => "SyntaxError",
  "rb_eSystemCallError"  => "SystemCallError",
  "rb_eSystemExit"       => "SystemExit",
  "rb_eTypeError"        => "TypeError",
  "rb_eZeroDivError"     => "ZeroDivisionError",

  "rb_mComparable"       => "Comparable",
  "rb_mEnumerable"       => "Enumerable",
  "rb_mErrno"            => "Errno",
  "rb_mFConst"           => "File::Constants",
  "rb_mFileTest"         => "FileTest",
  "rb_mGC"               => "GC",
  "rb_mKernel"           => "Kernel",
  "rb_mMath"             => "Math",
  "rb_mProcess"          => "Process"
}

Class Method Summary collapse

Class Method Details

.homeObject

Searches and returns the directory for settings.

  1. $HOME/.rdoc directory, if it exists.

  2. The rdoc directory under the path specified by the XDG_DATA_HOME environment variable, if it is set.

  3. $HOME/.local/share/rdoc directory.

Other than the home directory, the containing directory will be created automatically.

[View source]

132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/rdoc.rb', line 132

def self.home
  rdoc_dir = begin
              File.expand_path('~/.rdoc')
            rescue ArgumentError
            end

  if File.directory?(rdoc_dir)
    rdoc_dir
  else
    require 'fileutils'
    begin
      # XDG
      xdg_data_home = ENV["XDG_DATA_HOME"] || File.join(File.expand_path("~"), '.local', 'share')
      unless File.exist?(xdg_data_home)
        FileUtils.mkdir_p xdg_data_home
      end
      File.join xdg_data_home, "rdoc"
    rescue Errno::EACCES
    end
  end
end

.load_yamlObject

Loads the best available YAML library.

[View source]

105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/rdoc.rb', line 105

def self.load_yaml
  begin
    gem 'psych'
  rescue NameError => e # --disable-gems
    raise unless e.name == :gem
  rescue Gem::LoadError
  end

  begin
    require 'psych'
  rescue ::LoadError
  ensure
    require 'yaml'
  end
end